package com.travel.pojo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 旅游景点信息实体
 */
@Data
@ApiModel(description = "旅游景点信息")
public class TravelAttractions implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "景点信息ID", example = "1", position = 1)
    private Integer id;

    @ApiModelProperty(value = "关联的旅游产品ID", example = "1", position = 2)
    private Integer productId;

    @ApiModelProperty(value = "景点名称", example = "旅顺博物馆", position = 3)
    private String attractionName;

    @ApiModelProperty(value = "景点图片路径", example = "https://example.com/images/travel/1.jpg", position = 3)
    private String attractionImage;

    @ApiModelProperty(value = "景点详细描述", example = "国家重点博物馆...", position = 4)
    private String attractionDesc;

    @Max(value = 180, message = "值必须是 0 - 180")
    @Min(value = 0, message = "值必须是0 - 180")
    @ApiModelProperty(value = "纬度", required = true)
    private Double latitude;

    @Max(value = 90, message = "值必须是 0 - 90")
    @Min(value = 0, message = "值必须是0 - 90")
    @ApiModelProperty(value = "经度", required = true)
    private Double longitude;

    @ApiModelProperty(value = "创建时间", example = "2025-06-10 10:00:00", position = 5)
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间", example = "2025-06-10 10:00:00", position = 6)
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "创建人ID", example = "1", position = 7)
    private Integer createBy;

    @ApiModelProperty(value = "更新人ID", example = "1", position = 8)
    private Integer updateBy;
}